Application programs may include unintended bugs that attempt to access regions of the memory that should not be accessed (referred to as stray accesses). Accesses may include writing and reading in the memory, and the stray accesses include stray write and stray read. To prevent the stray accesses from accessing or corrupting memory in unintended ways, certain memory protection mechanism is needed.